Always set the shape when creating a native window.
authorAlexander Larsson <alexl@redhat.com>
Mon, 19 Jan 2009 15:49:34 +0000 (16:49 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:15:19 +0000 (10:15 +0200)
This is not always done by recompute_visible_regions, as
the clip region doesn't change.

gdk/gdkwindow.c

index 416b7dd5e2a9e31194ddf35b05d12e55e1bc030d..041db2f36114ab05dd5a04ee2c5a6429ac137769 100644 (file)
@@ -1259,6 +1259,10 @@ gdk_window_set_has_native (GdkWindow *window, gboolean has_native)
 
       recompute_visible_regions (private, FALSE, FALSE);
 
+      /* The shape may not have been set, as the clip region doesn't actually
+        change, so do it here manually */
+      GDK_WINDOW_IMPL_GET_IFACE (private->impl)->shape_combine_region ((GdkWindow *)private, private->clip_region, 0, 0);
+
       reparent_to_impl (private);
 
       GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_background (window, &private->bg_color);